const mongoose = require('mongoose')
const fs = require('fs')
const Router = require('koa-router')
let router = new Router()

router.get('/insertAllGoodsInfo',async(ctx)=>{
  fs.readFile('./data_json/newGoods.json','utf8',(err,data)=>{
      data=JSON.parse(data)
      let saveCount=0
      const Goods = mongoose.model('Goods')
      data.map((value,index)=>{
          console.log(value)
          let newGoods = new Goods(value)
          newGoods.save().then(()=>{
              saveCount++
              console.log('成功'+saveCount)
          }).catch(error=>{
              console.log(error)
          })
      })
  })
  ctx.body="开始导入数据"
})

router.get('/insertAllCategory', async(ctx) => {
  fs.readFile('./data_json/category.json', 'utf8', (err, data) => {
    data = JSON.parse(data)
    let count = 0
    const Category = mongoose.model('Category')
    data.RECORDS.map((value, index) => {
      let newCategory = new Category(value)
      newCategory.save().then(() => {
        count++
        console.log('成功'+count)
      }).catch(err =>{
        console.log('失败')
      })
    })
  })
  ctx.body = '开始导入数据'
})

router.get('/insertAllCategorySub', async(ctx) => {
  fs.readFile('./data_json/category_sub.json', 'utf8', (err, data) => {
    data = JSON.parse(data)
    let count = 0
    const CategorySub = mongoose.model('CategorySub')
    data.RECORDS.map((value, index) => {
      let newCategorySub = new CategorySub(value)
      newCategorySub.save().then(() => {
        count++
        console.log('成功'+ count)
      }).catch(err => {
        console.log('失败' + err)
      })
    })
  })
  ctx.body = '开始导入数据'
})

// 获取商品信息详情的接口
router.post('/getDetailGoodsInfo', async(ctx) => {
  try{
    let goodsId = ctx.request.body.goodsId
    const Goods = mongoose.model('Goods')
    let result = await Goods.findOne({ID: goodsId}).exec()
    ctx.body = {code: 200, message: result}
  }catch(err){
    console.log(err)
  }
})

//获取大类信息
router.get('/getCategoryList', async(ctx) => {
  try{
    const Category = mongoose.model('Category')
    const result = await Category.find().exec()
    console.log(result)
    ctx.body = {code: 200, message: result}
  }catch(err){
    ctx.body = { code: 500, message: err}
  }
})

// 获取小类信息
router.post('/getCategorySubList', async(ctx) => {
  try{
    let categoryId = ctx.request.body.categoryId
    const CategorySub = mongoose.model('CategorySub')
    const result = await CategorySub.find({MALL_CATEGORY_ID: categoryId}).exec()
    ctx.body = { code: 200, message: result }
  }catch(err){
    ctx.body = { code: 500, message: err }
  }
})

//根据商品类别获取商品列表
router.post('/getGoodsListByCategorySubID', async(ctx) => {
  try{
    let categorySubId = ctx.request.body.categorySubId
    let page = ctx.request.body.page
    let num = 10
    let start = (page -1)*num
    const Goods = mongoose.model('Goods')
    const result = await Goods.find({SUB_ID: categorySubId})
    .skip(start).limit(num).exec()
    ctx.body = { code: 200, message: result }
  }catch(err){
    ctx.body = { code: 500, message: err }
  }
})

module.exports = router